home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CreatingGames / Utilities / C / ASAP / localcontextitem.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-09-09  |  2.4 KB  |  62 lines

  1. /*****************************************************************************
  2.  *                                                                           *
  3.  * ASAP - Amiga Software Authoring Platform                                  *
  4.  *                                                                           *
  5.  * Written by Laurie Perrin                                                  *
  6.  *                                                                           *
  7.  * ALocalContextItem wrapper class                                           *
  8.  *                                                                           *
  9.  *****************************************************************************/
  10.  
  11. #ifndef ASAP_LocalContextItem_H
  12. #define ASAP_LocalContextItem_H
  13.  
  14. #include <New.h>
  15.  
  16. extern "C"
  17. {
  18.  #include <Proto/IFFParse.h>
  19. }
  20.  
  21. class ALocalContextItem : public LocalContextItem
  22. {
  23.  public:
  24.  inline static ALocalContextItem *AllocLocalItem( long type, long id, long ident, long dataSize);
  25.  inline void * operator new (size_t, long type, long id, long ident, long dataSize);
  26.  inline APTR LocalItemData();
  27.  inline void FreeLocalItem();
  28.  inline void operator delete (void *localItem);
  29.  inline void SetLocalItemPurge(Hook *purgeHook);
  30. };
  31. //-----------------------------------------------------------------------------
  32. ALocalContextItem * ALocalContextItem::AllocLocalItem (long type, long id, long ident, long dataSize)
  33. {
  34.  return (ALocalContextItem *) ::AllocLocalItem(type, id, ident, dataSize);
  35. }
  36. //-----------------------------------------------------------------------------
  37. void * ALocalContextItem::operator new (size_t, long type, long id, long ident, long dataSize)
  38. {
  39.  return ALocalContextItem::AllocLocalItem(type, id, ident, dataSize);
  40. }
  41. //-----------------------------------------------------------------------------
  42. APTR ALocalContextItem::LocalItemData ()
  43. {
  44.  return ::LocalItemData(this);
  45. }
  46. //-----------------------------------------------------------------------------
  47. void ALocalContextItem::FreeLocalItem ()
  48. {
  49.  ::FreeLocalItem(this);
  50. }
  51. //-----------------------------------------------------------------------------
  52. void ALocalContextItem::operator delete (void *localItem)
  53. {
  54.  ((ALocalContextItem *) localItem)->FreeLocalItem();
  55. }
  56. //-----------------------------------------------------------------------------
  57. void ALocalContextItem::SetLocalItemPurge (Hook *purgeHook)
  58. {
  59.  ::SetLocalItemPurge(this, purgeHook);
  60. }
  61.  
  62. #endif